/**
 * FileName: UserThreadLocal
 * Author: Mr.Wang
 * Date: 2025/10/17 14:06
 * Description:
 * History:
 */
package org.test.device.utils;

/**
 * 〈一句话功能简述〉<br>
 * 〈〉
 * ThreadLocal工具类：存储当前登录用户ID（每个请求一个线程，线程安全）
 * @author Mr.Wang
 * @create 2025/10/17
 * @since 1.0.0
 */
public class UserThreadLocal {

    private static final ThreadLocal<Long> USER_ID_LOCAL = new ThreadLocal<>();

    // 存入用户ID
    public static void set(Long userId) {
        USER_ID_LOCAL.set(userId);
    }

    // 获取用户ID
    public static Long get() {
        return USER_ID_LOCAL.get();
    }

    // 清除用户ID（必须在接口结束后调用，防止内存泄漏）
    public static void remove() {
        USER_ID_LOCAL.remove();
    }
}